class FactoryAwareOrderProvider extends java.lang.Object implements OrderProvider
OrderProvider
implementation that is aware of the
bean metadata of the instances to sort.
Lookup for the method factory of an instance to sort, if
any and retrieve the Order
value defined on it. This
essentially allows for the following construct:
@Configuration public class AppConfig { @Bean @Order(5) public MyService myService() { return new MyService(); } }
Modifier and Type | Field and Description |
---|---|
private ConfigurableListableBeanFactory |
beanFactory |
private java.util.Map<java.lang.Object,java.lang.String> |
instancesToBeanNames |
Constructor and Description |
---|
FactoryAwareOrderProvider(java.util.Map<java.lang.Object,java.lang.String> instancesToBeanNames,
ConfigurableListableBeanFactory beanFactory) |
Modifier and Type | Method and Description |
---|---|
private java.lang.reflect.Method |
getFactoryMethod(java.lang.String beanName) |
java.lang.Integer |
getOrder(java.lang.Object obj)
Return the order value of the specified object or
null if
it cannot be retrieved. |
private final java.util.Map<java.lang.Object,java.lang.String> instancesToBeanNames
private final ConfigurableListableBeanFactory beanFactory
public FactoryAwareOrderProvider(java.util.Map<java.lang.Object,java.lang.String> instancesToBeanNames, ConfigurableListableBeanFactory beanFactory)
public java.lang.Integer getOrder(java.lang.Object obj)
OrderProvider
null
if
it cannot be retrieved.getOrder
in interface OrderProvider
obj
- the object to handlenull
if none is foundprivate java.lang.reflect.Method getFactoryMethod(java.lang.String beanName)